Delivery system

ABSTRACT

A delivery system generates a pick sheet containing a plurality of SKUs based upon an order. A loaded pallet is imaged to identify the SKUs on the loaded pallet, which are compared to the order prior to the loaded pallet leaving the distribution center. The loaded pallet may be imaged while being wrapped with stretch wrap. At the point of delivery, the loaded pallet may be imaged again and analyzed to compare with the pick sheet.

BACKGROUND

The delivery of products to stores from distribution centers has many steps that are subject to errors and inefficiencies. When the order from the customer is received, at least one pallet is loaded with the specified products according to a “pick list.”

For example, the products may be cases of beverage containers (e.g. cartons of cans and beverage crates containing bottles or cans, etc.). There are many different permutations of flavors, sizes, and types of beverage containers delivered to each store. When building pallets, missing or mis-picked product can account for significant additional operating costs.

The loaded pallet(s) are then loaded on a truck, along with pallets for other stores. Misloaded pallets cause significant time delays to the delivery route since the driver will have to rearrange the pallets during the delivery process with potentially limited space in the trailer to maneuver. Extra pallets on trucks can also cause additional loading times to find the errant pallet and re-load it on the correct trailer

At the store, the driver unloads the pallet(s) designated for that location. Drivers often spend a significant amount of time waiting in the store for a clerk to become available to check in the delivered product by physically counting it. During this process the clerk ensures that all product ordered is being delivered. The driver and clerk often break down the pallet and open each case to scan one UPC from every unique flavor and size. After the unique flavor and size is scanned, both the clerk and driver count the number of cases or bottles for that UPC. This continues until all product is accounted for on all the pallets. Clerks are typically busy helping their own customers which forces the driver to wait until a clerk becomes available to check-in product.

SUMMARY

The improved delivery system provides improvements to several phases of the delivery process. Although these improvements work well when practiced together, fewer than all, or even any one of these improvements could be practiced alone to some benefit.

The improved delivery system facilitates order accuracy from the warehouse to the store by combining machine learning and computer vision software with a serialized (RFID/Barcode) shipping pallet. Pallet packing algorithms are based on the product mix and warehouse layout.

Electronic order accuracy checks are done while building pallets, loading pallets onto trailers and delivering pallets to the store. When building pallets, the delivery system validates the build to ensure the correct product SKUs are being loaded on the correct pallet according to the pick list. Once the pallet is built the overall computer vision sku count for that specific pallet is compared against the pick list for that specific pallet to ensure the pallet is built correctly. This may be done prior to the pallet being stretch wrapped thus mitigating the cost of unwrapping of the pallet to audit and correct. This also prevents shortages and overages at the delivery point thus preventing the driver from having to bring back excess or make additional trips to deliver missing product.

An optimized queue system may then be used to queue and load pallets onto the trailer in the correct reverse-stop sequence (last stop is loaded onto the trailer first). An electronic visual control showing which pallet is to be loaded on which trailer will be visible to the loader, e.g.: Loading pallet #3 on Dock #4 . . . .

The system will also decrease the time for the receiver at the delivery point (e.g. store) to check-in the product through a combination of checks that build trust at the delivery point. This is done through conveyance of the computer vision images of the validated SKUs on the pallet before it left the warehouse and upon delivery to the store. This can be a comparison of single images or a deep machine learning by having the image at the store also electronically identify the product SKUs. Delivery benefits include significantly reducing costs associated with waiting and checking product in at the store level and a verifiable electronic ledger of what was delivered for future audit.

The delivery system will utilize a mobile device that the driver or receiver will have that takes one or more still images of the pallet (for example, 4, i.e. 1 on each side). The image(s) can then be compared electronically to the control picture from the warehouse and physically by the clerk. The clerk can electronically sign off that all product SKUs are there against their pick list. Different levels of receipt will be available for the clerk to approve. Validation at the store can be simple pallet serial scan via RFID/Barcode and GPS coordinates against the delivery, pallet image compare and/or sku validation through a machine learning computer vision algorithm called from the mobile device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic view of a delivery system.

FIG. 2 shows an example loading station of the delivery system of FIG. 1.

FIG. 3 shows an example validation station of the delivery system of FIG. 1.

FIG. 4 is another view of the example validation system of FIG. 3 with a loaded pallet thereon.

FIG. 5 shows another example validation system of the delivery system of FIG. 1.

FIG. 6 shows the validation system of FIG. 5 in the process of wrapping a loaded pallet.

FIG. 7 shows yet another example validation system of the delivery system of FIG. 1.

FIG. 8 shows a route optimization used in the delivery system of FIG. 1.

FIG. 9 shows an example loading station of the delivery system of FIG. 1.

FIG. 10 is another view of the example loading station of FIG. 9.

FIG. 11 shows a scheduling system of the delivery system of FIG. 1.

FIG. 12 illustrates a store notification feature of the delivery system of FIG. 1.

FIG. 13 is an example screen of a mobile app for confirming a pallet id in the delivery system of FIG. 1.

FIG. 14 is an example screen of a mobile app for imaging the loaded pallet for validation in the delivery system of FIG. 1.

FIG. 15 is an example screen of a mobile app in which the user can approve an image of the loaded pallet from FIG. 14.

FIG. 16 is a screenshot of the app on the mobile device indicating the quantity of each sku that has been identified on the loaded pallet in the image of FIG. 15.

FIG. 17 shows an example screen of a mobile app in which the driver has imaged a loaded pallet at a store.

FIG. 18 shows an example screen of a mobile app showing confirmation that the SKUs on the loaded pallet at the store match the pick sheet.

FIG. 19 shows another example screen of a mobile app showing confirmation that the SKUs on the loaded pallet at the store match the pick sheet.

FIG. 20 shows an example screen of a mobile app indicating that the SKUs on the loaded pallet at the store do not match the pick sheet.

FIG. 21 shows an example pallet sled with a sensor and/or camera for identifying the pallet on the sled and the items on the pallet.

FIG. 22 shows an example training station of the delivery system of FIG. 1.

FIG. 23 shows an alternate training station that could be used in the system of FIG. 1.

FIG. 24 shows one possible architecture of the training feature of the system of FIG. 1.

FIGS. 25A and 25B are a flowchart of one version of a method for delivering items.

FIG. 26 is a flowchart of one version of a method for training a machine learning model.

FIG. 27 shows an alternate validation station.

FIG. 28 shows an example screen indicating a validated loaded pallet at the distribution center.

FIG. 29 shows an example screen indicating a mis-picked loaded pallet at the distribution center.

DETAILED DESCRIPTION

FIG. 1 is a high level view of a delivery system 10 including one or more distribution centers 12, a central server 14 (e.g. cloud computer), and a plurality of stores 16. A plurality of trucks 18 or other delivery vehicles each transport the products 20 on pallets 22 from one of the distribution centers 12 to a plurality of stores 16. Each truck 18 carries a plurality of pallets 22 which may be half pallets, each loaded with a plurality of goods 20 for delivery to one of the stores 16. A wheeled sled 24 is on each truck 18 to facilitate delivery of one of more pallets 22 of goods 20 to each store 16. Generally, the goods 20 could be loaded on the half pallets 22, full-size pallets, carts, or hand carts, or dollies—all considered “platforms” herein.

Each distribution center 12 includes one or more pick stations 30 each associated with a validation station 32. Each validation station 32 is associated with a loading station 34, such as a loading dock for loading the trucks 18.

Each distribution center 12 may have a plurality of loading stations 34. Each distribution center 12 includes a DC computer 26. The DC computer 26 receives orders 60 from the stores 16 and communicates with a central server 14. Each DC computer 26 receives orders and generates pick sheets 64, each of which stores SKUs and associates them with pallet ids. Alternatively, the orders 60 can be sent from the DC computer 26 to the central server 14 for generation of the pick sheets 64, which are synched back to the DC computer 26.

Some or all of the distribution centers 12 may include a training station 28 for generating image information and other information about new products 20 which can be transmitted to the central server 14 for analysis and future use.

The central server 14 may include a plurality of distribution center accounts 40, including DC1-DCn, each associated with a distribution center 12. Each DC account 40 includes a plurality of store accounts 42, including store 1-store n. The orders 60 and pick sheets 64 for each store are stored in the associated store account 42. The central server 14 further includes a machine learning model including a plurality of SKU files 44, including SKU 1-SKUn. The model is periodically synched to the DC computers 26.

The SKU files 44 each contain information for a SKU. A “SKU” may be a single variation of a product that is available from the distribution center 12 and can be delivered to one of the stores 16. For example, each SKU may be associated with a particular number of containers (e.g. 12 pack) in a particular form (e.g. can v bottle), with particular packaging (cardboard vs reusable plastic crate, etc.), having a particular flavor, and a particular size (e.g. 24 ounces). This information is contained in each SKU file 44 along with the name of the product, a description of the product, dimensions of the product, and image information for the product. Each SKU file 44 may also include the weight of the product. Image information may be further decomposed into text and color information. It is also possible that more than one variation of a product may share a single SKU, such as where only the packaging, aesthetics, and outward appearance of the product varies, but the content and quantity is the same. For example, sometimes promotional packaging may be utilized, which would have different image information for a particular SKU. In general, all the SKU files 44 including their associated image information, may be generated through the training module 28.

Referring also to the flowchart in FIG. 25, an order 60 may be received from a store 16 in step 150. As an example, an order 60 may be placed by a store employee using an app or mobile device 52. The order 60 is sent to the distribution center computer 26 (or alternatively to the server 14, and then relayed to the proper (e.g. closest) distribution center computer 26). The distribution center computer 26 analyzes the order 60 and creates a pick sheet 64 associated with that order 60 in step 152. The pick sheet 64 assigns each of the SKUs (including the quantity of each SKU) from the order. The pick sheet 64 specifies how many pallets 22 will be necessary for that order (as determined by the DC computer 26). The DC computer 26 may also determine which SKUs should be loaded near one another on the same pallet 22, or if more than one pallet 22 will be required, which SKUs should be loaded on the same pallet 22. For example, SKUs that go in the cooler may be together on the same pallet (or near one another on the same pallet), while SKUs that go on the shelf may be on another part of the pallet (or on another pallet, if there is more than one). If the pick sheet 64 is created on the DC computer 26, it is copied to the server 14. If it is created on the server 14, it is copied to the DC computer 26.

FIG. 2 shows the pick station 30 of FIG. 1. Referring to FIGS. 1 and 2, workers at the distribution center read the palled id (e.g. via rfid, barcode, etc.) on the pallet(s) 22 on a pallet jack 24 a (see screenshot of FIG. 13), such as with a mobile device or a reader on the pallet jack 24 a. Shelves may contain a variety of items 20 for each SKU, such as first product 20 a of a first SKU and a second product 20 b of a second SKU (collectively “products 20”). A worker reading a computer screen or mobile device screen displaying from the pick sheet 64 retrieves each product 20 and places that product 20 on the pallet 22. Alternatively, the pallet 22 may be loaded by automated handling equipment.

Workers place items 20 on the pallets 22 according to the pick sheets 64, and report the palled ids to the DC computer 26 in step 154. The DC computer 26 dictates merchandizing groups and sub groups for loading items 20 a, b on the pallets 22 in order to make unloading easier at the store. In the example shown, the pick sheets 64 dictate that products 20 a are on one pallet 22 while products 20 b are on another pallet 22. For example, cooler items should be grouped, and dry items should be grouped. Splitting of package groups is also minimized to make unloading easer. This makes pallets 22 more stable too.

After one pallet 22 is loaded, the next pallet 22 is brought to the pick station 30, until all of the SKUs required by the pick sheet 64 are loaded onto as many pallets 22 as required by that pick sheet 64. Pallets 22 are then loaded for the next pick sheet 64. The DC computer 26 records the pallet ids of the pallet(s) 22 that have been loaded with particular SKUs for each pick sheet 64. The pick sheet 64 may associate each pallet id with each SKU.

After being loaded, each loaded pallet 22 is validated at the validation station 32, which may be adjacent to or part of the pick station 30. As will be described in more detail below, at least one still image, and preferably several still images or video, of the products 20 on the pallet 22 is taken at the validation station 32 in step 156. The pallet id of the pallet 22 is also read. The images are analyzed to determine the SKUS of the products 20 that are currently on the identified pallet 22 in step 158. The SKUs of the products 20 on the pallet 22 are compared to the pick sheet 64 by the DC computer 26 in step 160, to ensure that all the SKUs associated with the pallet id of the pallet 22 on the pick sheet 64 are present on the correct pallet 22, and that no additional SKUs are present. Several ways are of performing the aforementioned steps are disclosed below.

First, referring to FIGS. 3 and 4, the validation station may include a CV/RFID semi-automated wrapper 66 a with turntable 67 may be specially fitted with a camera 68 and rfid reader 70 (and/or barcode reader). The wrapper 66 a holds a roll of translucent, flexible, plastic wrap or stretch wrap 72. As is known, a loaded pallet 22 can be placed on the turntable 67, which rotates the loaded pallet 22 as stretch wrap 72 is applied. The camera 68 may be a depth camera. In this wrapper 66 a, the camera 68 takes at least one image of the loaded pallet 22 while the turntable 67 is rotating the loaded pallet 22, prior to or while wrapping the stretch wrap 72 around the loaded pallet 22. Images/video of the loaded pallet 22 after wrapping may also be generated. As used herein, “image” or “images” refers broadly to any combination of still images and/or video, and “imaging” means capturing any combination of still images and/or video. Again, preferably 2 to 4 still images, or video, are taken.

In one implementation, the camera 68 is recording video (or a continuously changing image), while the turntable 67 is rotating. When the camera 68 detects that the two outer ends of the pallet 22 are equidistant (or otherwise that the side of the pallet 22 facing the camera 68 is perpendicular to the camera 68 view), the camera 68 records a still image. The camera 68 can record four still images in this manner, one of each side of the pallet 22.

The rfid reader 70 (or barcode reader, or the like) reads the pallet id (a unique serial number) from the pallet 22. The wrapper 66 a includes a local computer 74 in communication with the camera 68 and rfid reader 70. The computer 74 can communicate with the DC computer 26 (and/or server 14) via a wireless network card 76. The image(s) and the pallet id are sent to the server 14 via the network card 76 and associated with the pick list 64 (FIG. 1). Optionally, a weight sensor can be added to the turntable 67 and the known total weight of the products 20 and pallet 22 can be compared to the measured weight on the turntable 67 for confirmation. An alert is generated if the total weight on the turntable 67 does not match the expected weight.

As an alternative, the turntable 67, camera 68, rfid reader 70, and computer 74 of FIGS. 3 and 4 can be used without the wrapper. The loaded pallet 22 can be placed on the turntable 67 for validation only and can be subsequently wrapped either manually or at another station.

Alternatively, referring to FIGS. 5 and 6, the validation station can include the camera 68 and rfid reader 70 (or barcode reader, or the like) mounted to a robo wrapper 66 b. As is known, instead of holding the stretch wrap 72 stationary and rotating the pallet 22, the robo wrapper 66 b travels around the loaded pallet 22 with the stretch wrap 72 to wrap the loaded pallet 22. The robo wrapper 66 b includes the camera, 68, rfid reader 70, computer 74 and wireless network card 76.

FIG. 6 shows the robo wrapper 66 b wrapping the loaded pallet 22 and items 20 with stretch wrap 72 (as is commonly used) and generating at least one image 62 of the loaded pallet 22. The robo wrapper 66 b travels around the loaded pallet 22 and generates at least one image 62 of the loaded pallet 22 prior to and/or while wrapping the loaded pallet 22. Images of the loaded pallet 22 after wrapping may also be generated. Other than the fact that the robo wrapper 66 b travels around the stationary loaded pallet 22, the robo wrapper 66 b operates the same as the wrapper 66 b of FIGS. 3 and 4.

Alternatively, referring to FIG. 7, the validation station can include a worker with a networked camera, such as on a mobile device 78 (e.g. smartphone or tablet) for taking one or more images 62 of the loaded pallet 22, prior to wrapping the loaded pallet 22. FIG. 14 is a screenshot of the app on the mobile device 78 instructing the user to take two still images of the long sides of the loaded pallets 22 (alternatively, the user could take video while walking around the pallet 22). FIG. 15 is a screenshot of the app on the mobile device 78 on which the user can approve the image the user took. FIG. 16 is a screenshot of the app on the mobile device 78 indicating the quantity of products 20 of each sku that has been identified on the pallet 22.

Other ways can be used to gather images of the loaded pallet. In any of the methods, the image analysis and/or comparison to the pick list is performed on the DC computer 26, which has a copy of the machine learning model. Alternatively, the analysis and comparison can be done on the server 14, locally on a computer 74, or on the mobile device 78, or on another locally networked computer.

As mentioned above, the camera 68 (or the camera on the mobile device 78) can be a depth camera, i.e. it also provides distance information correlated to the image (e.g. pixel-by-pixel distance information or distance information for regions of pixels). Depth cameras are known and utilize various technologies such as stereo vision (i.e. two cameras) or more than two cameras, time-of-flight, or lasers, etc. If a depth camera is used, then the edges of the products stacked on the pallet 22 are easily detected (i.e. the edges of the entire stack and possibly edges of individual adjacent products either by detecting a slight gap or difference in adjacent angled surfaces). Also, the depth camera 68 can more easily detect when the loaded pallet 22 is presenting a perpendicular face to the view of the camera 68 for a still image to be taken.

However the image(s) of the loaded pallet 22 are collected, the image(s) are then analyzed to determine the sku of every item 20 on the pallet 22 in step 158 (FIG. 25A). Images and dimensions of all sides of every possible product, including multiple versions of each SKU, if applicable, are stored in the server 14. If multiple still images or video are collected, then the known dimensions of the pallet 22 and the items 20 are used to ensure that every item 20 is counted once and only once. For example, the multiple sides of the loaded pallet 22 may be identified in the images first. Then, the layers of items 20 are identified on each side. The individual items 20 are then identified on each of the four sides of the loaded pallet 22.

The package type of each item 20 is identified by the computer, such as reusable beverage crate, corrugated tray with translucent plastic wrap, or fully enclosed cardboard or paperboard box. The branding of each item 20 is also identified by the computer (e.g. a specific flavor from a specific manufacturer), such as by reading the images/text on the packaging. The packaging may be identified first, thus narrowing the list of possible branding options to be identified. Or vice versa, the branding could be determined and used to narrow the possible packaging options to be identified. Alternatively, the branding and packaging could be determined independently and cross-referenced afterward for verification. In any method, if one technique leads to an identification with more confidence, that result could take precedence over a contrary identification. For example, if the branding is determined with low confidence and the packaging is determined with high confidence, and the identified branding is not available in the identified packaging, the identified packaging is used and the next most likely branding that is available in the identified packaging is then used.

After individual items 20 are identified on each of the four sides of the loaded pallet 22, based upon the known dimensions of the items 20 and pallet 22, duplicates are removed, i.e. it is determined which items are visible from more than one side and appear in more than one image. If some items are identified with less confidence from one side, but appear in another image where they are identified with more confidence, the identification with more confidence is used.

For example, if the pallet 22 is a half pallet, its dimensions would be approximately 40 to approximately 48 inches by approximately 20 to approximately 24 inches, including the metric 800 mm×600 mm Standard size beverage crates, beverage cartons, and wrapped corrugated trays would all be visible from at least one side, most would be visible from at least two sides, and some would be visible on three sides.

If the pallet 22 is a full-size pallet (e.g. approximately 48 inches by approximately 40 inches, or 800 mm by 1200 mm), most products would be visible from one or two sides, but there may be some products that are not visible from any of the sides. The dimensions and weight of the hidden products can be determined as a rough comparison against the pick list. Optionally, stored images (from the SKU files) of SKUs not matched with visible products can be displayed to the user, who could verify the presence of the hidden products manually.

The computer vision-generated sku count for that specific pallet 22 is compared against the pick list 64 to ensure the pallet 22 is built correctly. This may be done prior to the loaded pallet 22 being wrapped thus preventing unwrapping of the pallet 22 to audit and correct. If the built pallet 22 does not match the pick list 64 (step 162), the missing or wrong SKUs are indicated to the worker (step 164), e.g. via a display (e.g. FIG. 29). Then the worker can correct the items 20 on the pallet 22 (step 166) and reinitiate the validation (i.e. initiate new images in step 156).

If the loaded pallet 22 is confirmed, positive feedback is given to the worker (e.g. FIG. 28), who then continues wrapping the loaded pallet 22 (step 168). Additional images may be taken of the loaded pallet 22 after wrapping. For example, four image may be taken of the loaded pallet before wrapping, and four more images of the loaded pallet 22 may be taken after wrapping. All images are stored locally and sent to the server 14. The worker then moves the validated loaded pallet 22 to the loading station 34 (step 170)

After the loaded pallet 22 has been validated, it is moved to a loading station 34 (FIG. 1). As explained in more detail below, at the loading station 34, the distribution center computer 26 ensures that the loaded pallets 22, as identified by each pallet id, are loaded onto the correct trucks 18 in the correct order. For example, pallets 22 that are to be delivered at the end of the route are loaded first.

A computer (DC computer 26, server 14, or another) determines efficient routes to be driven by each truck 18 to visit each store 16 in the most efficient sequence, the specific loaded pallets 22 that must go onto each truck 18, and the order in which the pallets 22 should be loaded onto the trucks 18.

As shown in FIG. 8, a route for each truck 18 is optimized by server 14 so that an efficient route is plotted for the driver. As shown, the route is communicated to the driver's mobile device 50 (or on-board navigation system) and may be modified after the truck 18 has left the DC 12 as necessary (e.g. based upon traffic).

Referring to FIG. 9, an optimized queue system is used to queue and load loaded pallets 22 onto the truck 18 in the correct reverse-stop sequence (last stop is loaded onto the truck 18 first) based upon the route planned for that truck 18. Each truck 18 will be at a different loading dock doorway 80.

FIG. 10 shows an example loading station 34, such as a loading dock with a doorway 80. Based upon the sequence determined by the server 14, an electronic visual display 82 proximate the doorway 80 shows which pallet 22 is to be loaded onto that truck 18 next. A camera 84 and/or rfid reader 86 adjacent the doorway 80 identifies each loaded pallet 22 as it is being loaded onto the truck 18. If the wrong pallet 22 is moved toward the doorway 80, an audible and/or visual alarm alerts the workers. Optionally, the rfid reader 86 at the doorway 80 is able to determine the direction of movement of the rfid tag on the loaded pallet 22, i.e. it can determine if the loaded pallet 22 is being moved onto the truck 18 or off of the truck 18. This is helpful if the wrong loaded pallet 22 is moved onto the truck 18. The worker is notified that the wrong pallet 22 was loaded, and the rfid reader 86 can confirm that the pallet was then moved back off the truck 18.

When a group of loaded pallets 22 (two or more) is going to the same store 16, the loaded pallets 22 within this group can be loaded onto the truck 18 in any order. The display 82 may indicate the group of loaded pallets 22 and the loaded pallets 22 within this group going to the same store 16 will be approved by the rfid reader 86 and display 82 in any order within the group.

Referring to FIG. 11, a portal 88 (generated by server 14) provides visibility of truck 18 schedules for local companies to reduce wait times.

Referring to FIG. 1, the loaded truck 18 carries a hand truck or pallet sled 24, for moving the loaded pallets 22 off of the truck 18 and into the stores 16 (FIG. 25, step 172). The driver has a mobile device 50 which receives the optimized route from the distribution center computer 26 or central server 14. The driver follows the route to each of the plurality of stores 16 for which the truck 18 contains loaded pallets 22.

At each store 16 the driver's mobile device 50 indicates which of the loaded pallets 22 (based upon their pallet ids) are to be delivered to the store 16 (as verified by gps on the mobile device 50). The driver verifies the correct pallet(s) for that location with the mobile device 50 that checks the pallet id (rfid, barcode, etc.). The driver moves the loaded pallet(s) 22 into the store 16 with the pallet sled 24.

Referring to FIG. 21, optionally, the pallet sled 24 can include an rfid reader 90 to check the pallet id of pallet 22 carried thereon by reading the RFID tag 94 secured to the pallet 22. The rfid reader 90 may also read RFID tags 96 on the items 20. Optionally the pallet sled 24 may alternatively or additionally include a camera 92 for imaging the loaded pallet 22 carried thereon for validation. A local wireless communication circuit (e.g. Bluetooth) may communicate the pallet id of the pallet 22 on the pallet sled 24 to the driver's mobile device 50. The driver's mobile device 50 can confirm to the driver that the correct pallet 22 is loaded on the pallet sled 24 or warn the driver if the pallet 22 on the pallet sled 24 does not correspond to the store 16 at the current location (determined via gps on the mobile device 50).

The pallet sled 24 can also assist in tracking the return of the pallets 22 and returnable packaging such as plastic beverage crates 98. If the returnable packaging, such as plastic beverage crates 98, have rfid tags 96, the pallet sled 24 can count the number of crates 98 and the pallets 22 that are being returned to the truck 18. Over time, this can provide asset tracking information. For example, this makes it easy to determine if the number of pallets 22 and crates 98 delivered to a particular store 16 consistently exceeds the number of pallets 22 and crates 98 that are returned from that store 16, thus indicating that the store 16 is experiencing a high rate of asset loss for some reason, which can then be investigated and remedied.

One of several methods can then be followed at the store.

In the first method, the driver removes the wrapping from the loaded pallets 22 and uses the mobile device 50 in the store 16 to take at least one, and preferably several still images or video of the loaded pallet 22 (FIG. 1; FIG. 17; FIG. 25, step 174). Optionally, the driver may be able to take a single image of a corner of the unwrapped loaded pallet 22, so that two sides of the loaded pallet 22 are captured in a single image. The image(s) 62 are sent from the mobile device 50 to the server 14 (or alternatively the DC computer 26). In step 176, the distribution central server 14 analyzes the images in one of the several ways described above to confirm the presence of the correct number of items 20 of each of the SKUs associated with the pallet id of that pallet 22 on the pick sheet 64 (step 178), and then communicates a confirmation to the driver's mobile device 50 and/or the store employee's mobile device 52, which is displayed on the screens. (FIGS. 18 and 19).

If a discrepancy is detected (step 180), the system indicates the specific discrepancy and how to remedy the discrepancy to the driver in step 182. The driver can correct the discrepancy by retrieving products 20 of the missing SKUs from the truck 18 or crediting the missing SKUs to the store account 42 (step 184). Any SKUs detected that do not belong on the pallets 22 can be returned by the driver to the truck 18. On the store worker's mobile device 52 (via an app), the store worker confirms the presence of the loaded pallet 22 and receives a list of SKUs associated with that pallet id from the distribution center computer 26 or the server 14.

If one or more SKUs do not match, the driver is shown the screen of FIG. 20 which indicates specifically what is missing (step 182). Optionally, not shown, the screen on his mobile device may also visually indicate on the image the SKUs that do not match, such as by drawing boxes or circles around the SKUs in the image. If necessary, he can manually identify them by clicking on them and then assigning the right SKU to it. If a SKU was actually physically missing or was legitimately not on the pick list it would also be identified here and the driver could potentially correct the order, such as by retrieving the missing items from the truck 18 in step 184. The driver then completes the delivery in step 186.

Referring to FIG. 12, the store employee may receive a notification via their mobile device 52 that the delivery has been made. Via their mobile device 52, the employee may view the image(s) of the loaded pallets 22 and may be asked to sign off on the delivery based upon the image(s) and/or based upon an indication from the server 14 that the system 10 has confirmed the accuracy of the delivery (i.e. after validation of the in-store image(s)).

In the second method, the driver images the loaded pallets 22 (again, one or more still images or video of each loaded pallet 22) before unwrapping them. The images 62 are sent from the mobile device 50 to the distribution center computer 26 or server 14. The distribution center computer 26 or central server 14 analyzes the images by identifying the SKUs through the stretch wrapping, which is translucent. Alternatively, rather than a full, fresh identification of the SKUs on the loaded pallet 22, all that is needed is a confirmation that nothing on the previously-validated loaded pallet 22 has been changed. For example, knowing the previous arrangement of each SKU on the pallets 22 and the specific packaging of each SKU (for SKUs that may have more than one possible package), it is easier to identify that those SKUs are still in the same location and arrangement as they were when validated at the DC 12.

Additionally, if images of the loaded pallets 22 were also taken after wrapping, the DC computer 26 and/or server 14 can also verify that the wrapping is relatively undisturbed. Alternatively, determining that the wrapping is undisturbed may be done without identifying the SKUs beneath, and if the wrapping is too disturbed, then the driver is notified to remove the wrapping and to image the loaded pallets 22 unwrapped for a full image analysis. Again, the store worker confirms the presence of the loaded pallet 22 and receives a list of SKUs associated with that pallet id from the distribution center computer 26 or the server 14.

Alternatively, the image(s) can simply be compared as an image to the image(s) taken at the distribution center, without actually identifying the skus in the image(s). If the image(s) at the store are similar enough to the image(s) taken at validation, the accuracy of the delivery can be confirmed. This can be done by comparing the unwrapped images to one another or by comparing the wrapped images to one another. However, this would not enable the driver to correct the missing skus as easily. Therefore, if it is determined that the images are not similar enough to the validation images, then a new SKU identification based upon images of the unwrapped loaded pallet 22 at the store 16 could be initiated at that time.

In a third method, the store worker has gained trust in the overall system 10 and simply confirms that the loaded pallet 22 has been delivered to the store 16, without taking the time to go SKU by SKU and compare each to the list that he ordered and without any revalidation/imaging by the driver. In that way, the driver can immediately begin unloading the products 20 from the pallet 22 and placing them on shelves 54 or in coolers 56, as appropriate. This greatly reduces the time of delivery for the driver.

FIG. 22 shows a sample training station 28 including a turntable 100 onto which a new product 20 (e.g. for a new SKU or new variation of an existing SKU) can be placed to create the SKU file 44. The turntable 100 may include an RFID reader 102 for reading an RFID tag 96 (if present) on the product 20 and a weight sensor 104 for determining the weight of the product 20. A camera 106 takes a plurality of still images and/or video of the packaging of the product 20, including any logos 108 or any other indicia on the packaging, as the product 20 is rotated on the turntable 100. Preferably all sides of the packaging are imaged. The images, weight, RFID information are sent to the server 14 to be stored in the SKU file 44. Optionally, multiple images of the product 20 are taken at different angles and/or with different lighting. Alternatively, or additionally, the computer files with the artwork for the packaging for the product 20 (i.e. files from which the packaging is made) are sent directly to the server 14.

FIG. 23 shows an alternate training station 28 a that could be used in the system of FIG. 1. The training station 28 a includes a support stand 120 onto which a new product 20 (e.g. for a new SKU or new variation of an existing SKU) can be placed to create the SKU file 44. The support stand 120 may include an RFID reader 102 for reading an RFID tag 96 (if present) on the product 20 and an optional weight sensor 104 for determining the weight of the product 20. One or more cameras 126 take a plurality of still images and/or video of the packaging of the product 20, including any logos 108 or any other indicia on the packaging. In the example shown, three cameras 126 are mounted to a frame 128 that is secured to the support stand 120. Preferably all sides of the packaging are imaged. Therefore, in the example shown, after capturing three sides with the three cameras 126, a user may rotate the product 20 so that the remaining three sides can be captured. The images, weight, RFID information may be received by a local training computer 130 and sent to the server 14 to be stored in the SKU file 44. Again, optionally, multiple sets of images may be taken with different lighting.

Each of the cameras 106 or 126 can be a depth camera, i.e. it also provides distance information correlated to the image (e.g. pixel-by-pixel distance information or distance information for regions of pixels). Depth cameras are known and utilize various technologies such as stereo vision (i.e. two cameras) or more than two cameras, time-of-flight, or lasers, etc. If a depth camera is used, then the edges of the product 20 are easily detected.

In one possible implementation of either training station 28 or 28 a, shown in FIG. 24, cropped images of products 20 from the training station 28 are sent from the local computer 130 via a portal 132 to sku image storage 134, which may be at the server 14. Alternatively, the computer files with the artwork for the packaging for the product 20 (i.e. files from which the packaging is made) are sent directly to the server 14.

Whichever method is used to obtain the images of the items, the images of the items are received in step 190 of FIG. 26. In step 192, an API 136 takes the sku images and builds them into a plurality of virtual pallets, each of which shows how the products 20 would look on a pallet 22. The virtual pallets may include four or five layers of the product 20 on the pallet 22. Some of the virtual pallets may be made up solely of the single new product 20, and some of the virtual pallets will have a mixture of images of different products 20 on the pallet 22. The API 136 also automatically tags the locations and/or boundaries of the products 20 on the virtual pallet with the associated skus. The API creates multiple configurations of the virtual pallet to send to a machine learning model 138 in step 194 to update it with the new skus and pics.

The virtual pallets are built based upon a set of configurable rules, including, the dimensions of the pallet 22, the dimensions of the products 20, number of permitted layers (such as four, but it could be five or six), layer restrictions regarding which products can be on which layers (e.g. certain bottles can only be on the top layer), etc. The image of each virtual pallet is sized to be a constant size (or at least within a particular range) and placed on a virtual background, such as a warehouse scene. There may be a plurality of available virtual backgrounds from which to randomly select.

The virtual pallet images are sent to the machine learning model 138 along with the bounding boxes indicating the boundaries of each product on the image and the SKU associated with each product. The virtual pallet images along with the bounding boxes and associated SKUs constitute the training data for the machine learning model.

In step 196, the machine learning model 138 analyzes the images of the virtual pallets based upon the location, boundary, and sku tag information. The machine learning model 140 is updated and stored. The machine learning model 142 is deployed and used in conjunction with the validation stations 32 (FIG. 1) and optionally with the delivery methods described above. The machine learning model 138 may also receive actual images taken in the distribution center or the stores, which after identification can be added to the machine learning model. Optionally, feedback from the workers can factor into whether the images are used, e.g. the identified images are not used until a user has had an opportunity to verify or contradict the identification.

FIG. 27 shows another alternative validation station. A pallet 22 loaded with goods 20 is carried on a first conveyor 220 to a turntable 267. An rfid reader 270 and at least one depth camera 268 are positioned adjacent the turntable 267. When the loaded pallet 22 reaches the turntable 267, the rfid reader 270 identifies the pallet 22 and the loaded pallet 22 is rotated on the turntable 267 so that the camera 268 can take images or video (as before), such as one still image of each of the four sides of the loaded pallet 22. As before, the images are used to identify all of the SKUs on the pallet 22, which are compared to the pick list associated with that pallet 22. If the loaded pallet 22 is validated against the pick list, then the loaded pallet 22 is moved to the second conveyor 222, which carries the loaded pallet 22 to a dedicated wrapping station, with a turntable 267 and stretch wrap 272. The loaded pallet 22 is wrapped with the stretch wrap at the wrapping station. If the loaded pallet 22 is not validated against the pick list, the loaded pallet 22 is moved on a third conveyor 224 to an audit station 226, where a worker can make the corrections to the goods 20 on the pallet 22 in the manner explained above in the other embodiments.

In accordance with the provisions of the patent statutes and jurisprudence, exemplary configurations described above are considered to represent preferred embodiments of the inventions. However, it should be noted that the inventions can be practiced otherwise than as specifically illustrated and described without departing from its spirit or scope. Alphanumeric identifiers on method steps are solely for ease in reference in dependent claims and such identifiers by themselves do not signify a required sequence of performance, unless otherwise explicitly specified. 

What is claimed is:
 1. A delivery system comprising: at least one computer programmed to perform the steps of: a) receiving a pick sheet for a plurality of SKUs, wherein each SKU has an associated package type and an associated brand, and wherein not all brands are available in all package types; b) receiving at least one image of a plurality of items stacked together; c) analyzing the at least one image to identify a package type of one of the plurality of items; d) based upon the identified package type from said step c) identifying a subset of possible brands of the one of the plurality of items; e) determining a brand of the one of the plurality of items based upon the identified subset of brands from said step d); f) identifying the SKU of the one of the plurality of items based upon said steps d) and e); g) repeating steps c) to f) for each of the plurality of items; h) comparing the SKUs identified in step f) to the SKUs on the pick sheet; and i) indicating whether the SKUs identified in step f) match the SKUs on the pick sheet based upon the comparison in step h).
 2. The system of claim 1 wherein the at least one computer includes a machine learning model trained with images of cases of beverage containers.
 3. The system of claim 2 wherein the machine learning model is trained to identify a plurality of available package types including reusable beverage crate, tray with translucent wrap, and fully enclosed box, wherein the at least one computer is programmed to perform said step c) using the machine learning model.
 4. The system of claim 1 wherein in said step b), the plurality of items in the at least one image are stacked on a platform.
 5. The system of claim 4 wherein the platform is a pallet.
 6. The system of claim 5 wherein the at least one computer is further programmed to perform the step of indicating that a SKU from the pick sheet is missing on the pallet.
 7. The system of claim 5 wherein the plurality of items are containers of beverage containers.
 8. The system of claim 5 further including at least one camera for generating the at least one image.
 9. The system of claim 8 wherein the at least one camera is a depth camera.
 10. The system of claim 8 wherein the at least one camera is mounted to a wrapper configured to wrap the plurality of items stacked on the pallet.
 11. A validation system comprising: a camera configured to generate at least one image of a plurality of items each having an associated SKU; and at least one computer programmed to: a) analyze the at least one image to identify a package type of one of the plurality of items; b) determine a brand of the one of the plurality of items; c) identify the associated SKU of the one of the plurality of items based upon said steps a) and b); d) perform steps a) to c) for each of the plurality of items; e) comparing the SKUs identified in step c) to SKUs on a pick sheet.
 12. The system of claim 11 wherein the at least one computer is programmed to determine the brand of the one of the plurality of items in step b) by analyzing the at least one image.
 13. The validation system of claim 12 wherein at least one computer is programmed to perform said step a) while the plurality of items are on a pallet and wherein the plurality of items are containers of beverage containers.
 14. The validation system of claim 11 wherein said step a) is performed before said step b).
 15. The validation system of claim 14 further including the step of: c) based upon the identified package type from said step a) identifying a subset of possible brands of the one of the plurality of items; and wherein said step b) includes determining the brand of the one of the plurality of items based upon the identified subset of brands from said step c).
 16. The validation system of claim 15 further including a turntable for receiving and rotating the plurality of items while the camera generates the at least one image, wherein the at least one image is a plurality of images.
 17. The validation system of claim 16 wherein the plurality of items are on a platform.
 18. The validation system of claim 17 further including an RFID reader for reading an RFID tag on the platform when it is on the turntable.
 19. The validation system of claim 11 wherein the at least one computer includes at least one machine learning model trained on images of cases of beverage containers of a plurality of available package types including the package types of the plurality of items and of a plurality of available brands including the brands of the plurality of items.
 20. The validation system of claim 19 wherein the at least one computer is programmed to perform said steps a) and b) using the at least one machine learning model.
 21. The validation system of claim 20 wherein the at least one machine learning model is trained on images of containers of beverage containers on a pallet.
 22. A method for delivery validation including the steps of: a) bringing to a store a plurality of items on a pallet in response to an order, wherein the items are containers of beverage containers; b) imaging the plurality of items on the pallet after step a) to generate at least one store image; c) analyzing the at least one store image to determine SKUs of the plurality of items; d) comparing the SKUs determined in step c) to the order; and e) indicating whether the SKUs of the plurality of items match the order.
 23. The method of claim 22 wherein step b) includes imaging multiple sides of the plurality of items and wherein the at least one store image is a plurality of store images; and wherein step c) includes determining the SKUs of the items visible in each of the plurality of store images and removing duplicate items that appear in more than one of the plurality of images.
 24. The method of claim 23 wherein said step c) is performed by at least one computer including a machine learning model trained with images of cases of beverage containers.
 25. The method of claim 23 wherein said step c) includes the step of determining layers of the plurality of items on the pallet in each of the plurality of store images.
 26. The method of claim 25 further including the step of removing a wrap around the plurality of items prior to step b).
 27. A delivery system comprising: at least one computer programmed to perform the steps of: a) receiving a pick sheet for a plurality of SKUs, wherein each SKU has an associated package type and an associated brand; b) receiving a plurality of images of a plurality of items stacked together, wherein the plurality of images are taken from a plurality of sides of a stack of the plurality of items; c) determining that a first item of the plurality of items is visible in a first image of the plurality of images and in a second image of the plurality of images; d) analyzing the first image to determine a first SKU of the first item at a first confidence level; e) analyzing the second image to determine a second SKU of the first item at a second confidence level; f) determining the SKU of the first item based upon a higher of the first confidence level or the second confidence level; and g) repeating steps c) to f) for each of a subset of the plurality of items.
 28. The system of claim 27 wherein the at least one computer is further programed to perform the steps of: h) comparing the SKUs identified in step f) to the SKUs on the pick sheet; and i) indicating whether the SKUs identified in step f) match the SKUs on the pick sheet based upon the comparison in step h).
 29. The system of claim 28 wherein the items are containers of beverage containers.
 30. The system of claim 29 wherein the at least one computer includes a machine learning model trained with images of cases of beverage containers. 